FILE STRUCTURE AUDIO MPEG FILE -------------------------------------------------------------------------- file a file has one or more 'frames'. a frame has a 'frame header' and 'frame data' -------------------------------------------------------------------------- frame length the frame length depends on the format and can vary per frame. the frame ends before the next sync header (see frame header). -------------------------------------------------------------------------- frame header the frame header of an audio mpeg file consist of 4 bytes, which are at the beginning of a frame. They don't have to be the same for every frame. (p.e. the bit 'padding' can change per frame) byte 0 1 2 3 binary 11111111 1111abbc ddddeefg hhjjkmpp 1 - sync header a - version b - layer c - error protection d - bit rate index e - sample rate index f - padding g - extension h - channel mode j - mode extension k - copyright m - original p - emphasis -------------------------------------------------------------------------- 1 - sync header must be 11111111 1111xxxx ($fffx) -------------------------------------------------------------------------- a - version 0 = mpg-ii 1 = mpg-i -------------------------------------------------------------------------- b - layer 0 = layer-1 3 = layer-2 2 = layer-3 -------------------------------------------------------------------------- c - error protection 0 = on 1 = off -------------------------------------------------------------------------- d - bit rate mpg-i (hex) bps@38kHz bps@44.1kHz bps@48kHz $0 0 0 0 $1 32 32 32 $2 64 48 40 $3 96 56 48 $4 128 64 56 $5 160 80 64 $6 192 96 80 $7 224 112 96 $8 256 128 112 $9 288 160 128 $a 320 192 160 $b 352 224 192 $c 384 256 224 $d 416 320 256 $e 448 384 320 mpg-ii (hex) bps@16kHz bps@22kHz bps@24kHz $0 0 0 0 $1 32 8 8 $2 48 16 16 $3 56 24 24 $4 64 32 32 $5 80 40 40 $6 96 48 48 $7 112 56 56 $8 128 64 64 $9 144 80 80 $a 160 96 96 $b 176 112 112 $c 192 128 128 $d 224 144 144 $e 256 160 160 -------------------------------------------------------------------------- e - sample rate mpg-i mpg-ii (version) 0 = 44.1 kHz 22 kHz 1 = 48 kHz 24 kHz 2 = 38 kHz 16 kHz -------------------------------------------------------------------------- f - padding 1 = unused bits are filled (padding required) 0 = all bits in frame are used -------------------------------------------------------------------------- g - extension 0 = none 1 = private -------------------------------------------------------------------------- h - channel mode 0 = stereo 1 = joint stereo 2 = dual channel 3 = mono -------------------------------------------------------------------------- j = mode extension when encoding with joint stereo, this specifies to which freq.band it is bound. layer-1&2 layer-3 0 = 4 0 1 = 8 4 2 = 12 8 3 = 16 16 -------------------------------------------------------------------------- k - copyright 0 = no 1 = yes -------------------------------------------------------------------------- m - original 0 = no 1 = yes -------------------------------------------------------------------------- p - emphasis 0 = none 1 = 50/15 microseconds 3 = CITT j.17 --------------------------------------------------------------------------